precision mediump float;

uniform vec2 resolution;
uniform float time;

void main(){
    vec2 uv=gl_FragCoord.xy/resolution;
    float color=0.;
    // lifted from glslsandbox.com
    // 摘自 glslsandbox.com
    color+=sin(uv.x*cos(time/3.)*60.)+cos(uv.y*cos(time/2.80)*10.);
    color+=sin(uv.y*sin(time/2.)*40.)+cos(uv.x*sin(time/1.70)*40.);
    color+=sin(uv.x*sin(time/1.)*10.)+sin(uv.y*sin(time/3.50)*80.);
    color*=sin(time/10.)*.5;
    
    gl_FragColor=vec4(vec3(color*.5,sin(color+time/2.5)*.75,color),1.);
    gl_FragColor=vec4(1.,0.,1.,1.);
}